# 写函数，计算传⼊的字符串中数字，字⺟，空格，以及其他的个数
# def fun(a):
#     a_num=0
#     a_char=0
#     a_space=0
#     a_other=0
#     for x in a:
#         if x.isdigit():
#             a_num+=1
#         elif x.isalpha():
#             a_char+=1
#         elif x.isspace():
#             a_space+=1
#         else:
#             a_other+=1
#     return (a_num,a_char,a_space,a_other)
#
# print(fun("eifjre ero20i309 304i9309iwkjdne 93i0"))


# 写函数，判断⽤⼾传⼊的对象（字符串，列表，元组）⻓度是否⼤于5
# def fun(a:str,b:list,c:tuple):
#     a_len=len(a)
#     b_len=len(b)
#     c_len=len(c)
#     if a_len>5:print("字符串长度大于5")
#     else:print("字符串长度小于5")
#     if b_len>5:print("列表长度大于5")
#     else:print("列表长度小于5")
#     if c_len>5:print("元组长度大于5")
#     else:print("元组长度小于5")
#     return (a_len,b_len,c_len)
# lis=[1,2,3,'3','d']
# yuan=(1,2,'s',{2:3},'3')
# fun("emerfer",lis,yuan)


# 写函数监测⽤⼾传⼊的对象（字符，列表，元组）的每⼀个元素是否有空内容
# def fun(a):
#     for i in a:
#         i=str(i)
#         if " " in i:
#             print(f"{i}有空格")
#         else:
#             print(f"{i}无空格")
# b=["eoe we",1,2,' ','','23 34']
# fun(b)


# 函数，检查传⼊列表的⻓度，如果⼤于2，那么仅仅保留前两个⻓度的内容，并将新内
# 容返回给调⽤者
# def fun(a):
#     if len(a)>2:
#         return a[0:2]
#     else:
#         return a
#
# b=[1,2,3,4]
# print(fun(b))

# 写函数，检查获取传⼊列表或元组的所有奇数位索引对应的元素，并将其作为新列表返回
# 给调⽤者
# def fun(a):
#     new_a={}
#     for i,char in enumerate(a):
#         if i%2!=0:
#             new_a[i]=char
#     return new_a
# lis=([1,2,3,4,5,6,7,8,9],(1,2,3,11,21,4,5,6,7))
# print(fun(lis))

# 默认形参放后面
# def student(age,name='summer'):
#     print('学生的年龄',name)
#     print('学生的姓名',age)
# a=student(9,'ksjdn')
#
# -可变参数
# 基于元组的可变参数⽤*parameter的形式
# def hello(*name):
#     print(name)
#
# hello("John", "Smith", "s")
# hello("John", "Smith")
# hello("John")
# hello()
# 基于字典的可变参数⽤**parameter的形式
# def hello(**info):
#     print('学生信息：',info)
#
# hello()
# hello(name="AIKKS")
# hello(name='dkee',age=20)
# hello(name='sjd',age=30,gender='male')


# def fib(n):
#     a,b,=1,1
#     while a<n:
#         print(a,end=' ')
#         a,b=b,a+b
#         print(a,b)
# fib(1000)
#